package com.it.commicity.domain.po;

import java.math.BigDecimal;

import com.alibaba.excel.annotation.ExcelIgnore;
import com.alibaba.excel.annotation.ExcelProperty;
import com.alibaba.excel.converters.longconverter.LongStringConverter;
import com.baomidou.mybatisplus.annotation.TableName;
import com.baomidou.mybatisplus.annotation.IdType;

import java.time.LocalDateTime;

import com.baomidou.mybatisplus.annotation.TableId;

import java.io.Serializable;

import com.it.commicity.domain.BaseDomain;
import lombok.Data;
import lombok.EqualsAndHashCode;
import lombok.experimental.Accessors;

/**
 * <p>
 * 单元 
 * </p>
 *
 * @author author
 * @since 2025-07-11
 */
@Data
@EqualsAndHashCode(callSuper = false)
@Accessors(chain = true)
@TableName("zy_unit")
public class ZyUnit extends BaseDomain implements Serializable {

    private static final long serialVersionUID = 1L;

    /**
     * 单元id
     * index = 0 排序：第一列
     * converter = LongStringConverter.class ：转换，防止long精度丢失
     */
    @TableId(type = IdType.ASSIGN_ID)
    @ExcelProperty(value = "单元id", index = 0, converter = LongStringConverter.class)
    private Long unitId;

    /**
     * 小区id
     */
    @ExcelIgnore // 不导出此字段
    private Long communityId;

    /**
     * 楼栋id
     */
    @ExcelIgnore // 不导出此字段
    private Long buildingId;

    /**
     * 单元名称
     */
    @ExcelProperty("单元名称")
    private String unitName;

    /**
     * 单元编号
     */
    @ExcelProperty("单元编号")
    private String unitCode;

    /**
     * 层数
     */
    @ExcelProperty("层数")
    private Integer unitLevel;

    /**
     * 建筑面积
     */
    @ExcelProperty("建筑面积(m^2)")
    private BigDecimal unitAcreage;

    /**
     * 是否有电梯
     */
    @ExcelProperty("是(1)否(0)有电梯")
    private String unitHaveElevator;
    /**
     * 备注
     */
    @ExcelProperty("备注")
    private String remark;


}
